(function(){function TabbedNavigation(element){this.element=element;this.navigation=this.element.getElementsByTagName("nav")[0];this.navigationElements=this.navigation.getElementsByClassName("js-cd-navigation")[0];this.content=this.element.getElementsByClassName("js-cd-content")[0];this.activeTab;this.activeContent;this.init();};TabbedNavigation.prototype.init=function(){var self=this;this.navigation.addEventListener("click",function(event){event.preventDefault();if(event.target.tagName.toLowerCase()=="a"&&!hasClass(event.target,"cd-selected")){self.activeTab=event.target;self.activeContent=self.content.querySelectorAll("[data-content="+self.activeTab.getAttribute("data-content")+"]")[0];self.updateContent();var activeTabHash='#'+self.activeTab.getAttribute("data-content") history.pushState(null,null,activeTabHash);}});this.navigation.addEventListener('scroll',function(event){self.toggleNavShadow();});};TabbedNavigation.prototype.updateContent=function(){var actualHeight=this.content.offsetHeight;removeClass(this.navigation.querySelectorAll("a.cd-selected")[0],"cd-selected");addClass(this.activeTab,"cd-selected");removeClass(this.content.querySelectorAll("li.cd-selected")[0],"cd-selected");addClass(this.activeContent,"cd-selected");(!window.requestAnimationFrame)?this.content.setAttribute("style","height:"+this.activeContent.offsetHeight+"px;"):setHeight(actualHeight,this.activeContent.offsetHeight,this.content,200);};TabbedNavigation.prototype.toggleNavShadow=function(){this.content.removeAttribute("style");var navigationWidth=Math.floor(this.navigationElements.getBoundingClientRect().width),navigationViewport=Math.ceil(this.navigation.getBoundingClientRect().width);(this.navigation.scrollLeft>=navigationWidth-navigationViewport)?addClass(this.element,"cd-tabs--scroll-ended"):removeClass(this.element,"cd-tabs--scroll-ended");};var tabs=document.getElementsByClassName("js-cd-tabs"),tabsArray=[],resizing=false;if(tabs.length>0){for(var i=0;i1)addClass(el,classList.slice(1).join(' '));}function removeClass(el,className){var classList=className.split(' ');if(el.classList)el.classList.remove(classList[0]);else if(hasClass(el,classList[0])){var reg=new RegExp('(\\s|^)'+classList[0]+'(\\s|$)');el.className=el.className.replace(reg,' ');}if(classList.length>1)removeClass(el,classList.slice(1).join(' '));}})();